/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;

import model.Usuario;
import pagecontroller.JsfUtil;
import pagecontroller.PageManager;

/**
 *
 * @author edilson
 */
public class Controller {

    private AlunoController alunoController;
    private AreaController areaController;
    private CategoriaController categoriaController;
    private ComentarioController comentarioController;
    private ConteudoController conteudoController;
    private ConteudoDaEmentaController conteudoDaEmentaController;
    private CorrecaoListaAlunoController correcaoListaAlunoController;
    private DisciplinaController disciplinaController;
    private DisciplinaProfessorController disciplinaProfessorController;
    private EmentaController ementaController;
    private ItemController itemController;
    private ListaAlunoController listaAlunoController;
    private ListaController listaController;
    private ListaDisciplinaController listaDisciplinaController;
    private MatriculadoController matriculadoController;
    private MinistraController ministraController;
    private ObservacaoController observacaoController;
    private PlanoController planoController;
    private ProfessorController professorController;
    private QuestaoAbordaConteudoController questaoAbordaConteudoController;
    private QuestaoController questaoController;
    private QuestaoListaController questaoListaController;
    private QuestaoProfessorController questaoProfessorController;
    private TagController tagController;
    private TagListaController tagListaController;
    private TagQuestaoController tagQuestaoController;
    private TipoController tipoController;
    private TurmaController turmaController;
    private UsuarioController usuarioController;

    protected PageManager getPageManager() {
        PageManager pageManager = (PageManager) JsfUtil.getObjectFromSession("PageManager");
        return pageManager;
    }

    protected Usuario getUsuarioLogado() {
//        UsuarioController usuarioController = (UsuarioController) JsfUtil.getObjectFromSession("UsuarioController");
//        return usuarioController.getUsuarioLogado();
        return getUsuarioController().getUsuarioLogado();
    }

    protected AlunoController getAlunoController() {
        if (alunoController == null) {
            alunoController = getRenewAlunoController();
        }
        return alunoController;
    }

    protected AreaController getAreaController() {
        if (areaController == null) {
            areaController = getRenewAreaController();
        }
        return areaController;
    }

    protected CategoriaController getCategoriaController() {
        if (categoriaController == null) {
            categoriaController = getRenewCategoriaController();
        }
        return categoriaController;
    }

    protected ComentarioController getComentarioController() {
        if (comentarioController == null) {
            comentarioController = getRenewComentarioController();
        }
        return comentarioController;
    }

    protected ConteudoController getConteudoController() {
        if (conteudoController == null) {
            conteudoController = getRenewConteudoController();
        }
        return conteudoController;
    }

    protected ConteudoDaEmentaController getConteudoDaEmentaController() {
        if (conteudoDaEmentaController == null) {
            conteudoDaEmentaController = getRenewConteudoDaEmentaController();
        }
        return conteudoDaEmentaController;
    }

    protected CorrecaoListaAlunoController getCorrecaoListaAlunoController() {
        if (correcaoListaAlunoController == null) {
            correcaoListaAlunoController = getRenewCorrecaoListaAlunoController();
        }
        return correcaoListaAlunoController;
    }

    protected DisciplinaController getDisciplinaController() {
        if (disciplinaController == null) {
            disciplinaController = getRenewDisciplinaController();
        }
        return disciplinaController;
    }
    
    protected DisciplinaProfessorController getDisciplinaProfessorController() {
        if (disciplinaProfessorController == null) {
            disciplinaProfessorController = getRenewDisciplinaProfessorController();
        }
        return disciplinaProfessorController;
    }

    protected EmentaController getEmentaController() {
        if (ementaController == null) {
            ementaController = getRenewEmentaController();
        }
        return ementaController;
    }

    protected ItemController getItemController() {
        if (itemController == null) {
            itemController = getRenewItemController();
        }
        return itemController;
    }

    protected ListaAlunoController getListaAlunoController() {
        if (listaAlunoController == null) {
            listaAlunoController = getRenewListaAlunoController();
        }
        return listaAlunoController;
    }

    protected ListaController getListaController() {
        if (listaController == null) {
            listaController = getRenewListaController();
        }
        return listaController;
    }
    
    protected ListaDisciplinaController getListaDisciplinaController() {
        if (listaDisciplinaController == null) {
            listaDisciplinaController = getRenewListaDisciplinaController();
        }
        return listaDisciplinaController;
    }

    protected MatriculadoController getMatriculadoController() {
        if (matriculadoController == null) {
            matriculadoController = getRenewMatriculadoController();
        }
        return matriculadoController;
    }

    protected MinistraController getMinistraController() {
        if (ministraController == null) {
            ministraController = getRenewMinistraController();
        }
        return ministraController;
    }

    protected ObservacaoController getObservacaoController() {
        if (observacaoController == null) {
            observacaoController = getRenewObservacaoController();
        }
        return observacaoController;
    }

    protected PlanoController getPlanoController() {
        if (planoController == null) {
            planoController = getRenewPlanoController();
        }
        return planoController;
    }

    protected ProfessorController getProfessorController() {
        if (professorController == null) {
            professorController = getRenewProfessorController();
        }
        return professorController;
    }

    protected QuestaoAbordaConteudoController getQuestaoAbordaConteudoController() {
        if (questaoAbordaConteudoController == null) {
            questaoAbordaConteudoController = getRenewQuestaoAbordaConteudoController();
        }
        return questaoAbordaConteudoController;
    }

    protected QuestaoController getQuestaoController() {
        if (questaoController == null) {
            questaoController = getRenewQuestaoController();
        }
        return questaoController;
    }

    protected QuestaoListaController getQuestaoListaController() {
        if (questaoListaController == null) {
            questaoListaController = getRenewQuestaoListaController();
        }
        return questaoListaController;
    }

    protected QuestaoProfessorController getQuestaoProfessorController() {
        if (questaoProfessorController == null) {
            questaoProfessorController = getRenewQuestaoProfessorController();
        }
        return questaoProfessorController;
    }

    protected TagController getTagController() {
        if (tagController == null) {
            tagController = getTagController();
        }
        return tagController;
    }

    protected TagListaController getTagListaController() {
        if (tagListaController == null) {
            tagListaController = getRenewTagListaController();
        }
        return tagListaController;
    }

    protected TagQuestaoController getTagQuestaoController() {
        if (tagQuestaoController == null) {
            tagQuestaoController = getRenewTagQuestaoController();
        }
        return tagQuestaoController;
    }

    protected TipoController getTipoController() {
        if (tipoController == null) {
            tipoController = getRenewTipoController();
        }
        return tipoController;
    }

    protected TurmaController getTurmaController() {
        if (turmaController == null) {
            turmaController = getRenewTurmaController();
        }
        return turmaController;
    }

    protected UsuarioController getUsuarioController() {
        if (usuarioController == null) {
            usuarioController = getRenewUsuarioController();
        }
        return usuarioController;
    }

    protected AlunoController getRenewAlunoController() {
        alunoController = (AlunoController) JsfUtil.getObjectFromSession("AlunoController");
        if (alunoController == null) {
            
            alunoController = new AlunoController();
        }
        return alunoController;
    }

    protected AreaController getRenewAreaController() {
        areaController = (AreaController) JsfUtil.getObjectFromSession("AreaController");
        if (areaController == null) {
            
            areaController = new AreaController();
        }
        return areaController;
    }

    protected CategoriaController getRenewCategoriaController() {
        categoriaController = (CategoriaController) JsfUtil.getObjectFromSession("CategoriaController");
        if (categoriaController == null) {
            
            categoriaController = new CategoriaController();
        }
        return categoriaController;
    }

    protected ComentarioController getRenewComentarioController() {
        comentarioController = (ComentarioController) JsfUtil.getObjectFromSession("ComentarioController");
        if (comentarioController == null) {
            
            comentarioController = new ComentarioController();
        }
        return comentarioController;
    }

    protected ConteudoController getRenewConteudoController() {
        conteudoController = (ConteudoController) JsfUtil.getObjectFromSession("ConteudoController");
        if (conteudoController == null) {
            
            conteudoController = new ConteudoController();
        }
        return conteudoController;
    }

    protected ConteudoDaEmentaController getRenewConteudoDaEmentaController() {
        conteudoDaEmentaController = (ConteudoDaEmentaController) JsfUtil.getObjectFromSession("ConteudoDaEmentaController");
        if (conteudoDaEmentaController == null) {
            
            conteudoDaEmentaController = new ConteudoDaEmentaController();
        }
        return conteudoDaEmentaController;
    }

    protected CorrecaoListaAlunoController getRenewCorrecaoListaAlunoController() {
        correcaoListaAlunoController = (CorrecaoListaAlunoController) JsfUtil.getObjectFromSession("CorrecaoListaAlunoController");
        if (correcaoListaAlunoController == null) {
            
            correcaoListaAlunoController = new CorrecaoListaAlunoController();
        }
        return correcaoListaAlunoController;
    }

    protected DisciplinaController getRenewDisciplinaController() {
        disciplinaController = (DisciplinaController) JsfUtil.getObjectFromSession("DisciplinaController");
        if (disciplinaController == null) {
            
            disciplinaController = new DisciplinaController();
        }
        return disciplinaController;
    }
    
    protected DisciplinaProfessorController getRenewDisciplinaProfessorController() {
        disciplinaProfessorController = (DisciplinaProfessorController) JsfUtil.getObjectFromSession("DisciplinaProfessorController");
        if (disciplinaProfessorController == null) {
            
            disciplinaProfessorController = new DisciplinaProfessorController();
        }
        return disciplinaProfessorController;
    }

    protected EmentaController getRenewEmentaController() {
        ementaController = (EmentaController) JsfUtil.getObjectFromSession("EmentaController");
        if (ementaController == null) {
            
            ementaController = new EmentaController();
        }
        return ementaController;
    }

    protected ItemController getRenewItemController() {
        itemController = (ItemController) JsfUtil.getObjectFromSession("ItemController");
        if (itemController == null) {
            
            itemController = new ItemController();
        }
        return itemController;
    }

    protected ListaAlunoController getRenewListaAlunoController() {
        listaAlunoController = (ListaAlunoController) JsfUtil.getObjectFromSession("ListaAlunoController");
        if (listaAlunoController == null) {
            
            listaAlunoController = new ListaAlunoController();
        }
        return listaAlunoController;
    }

    protected ListaController getRenewListaController() {
        listaController = (ListaController) JsfUtil.getObjectFromSession("ListaController");
        if (listaController == null) {
            
            listaController = new ListaController();
        }
        return listaController;
    }
    
    protected ListaDisciplinaController getRenewListaDisciplinaController() {
        listaDisciplinaController = (ListaDisciplinaController) JsfUtil.getObjectFromSession("ListaDisciplinaController");
        if (listaDisciplinaController == null) {
            
            listaDisciplinaController = new ListaDisciplinaController();
        }
        return listaDisciplinaController;
    }

    protected MatriculadoController getRenewMatriculadoController() {
        matriculadoController = (MatriculadoController) JsfUtil.getObjectFromSession("MatriculadoController");
        if (matriculadoController == null) {
            matriculadoController = new MatriculadoController();
        }
        return matriculadoController;
    }

    protected MinistraController getRenewMinistraController() {
        ministraController = (MinistraController) JsfUtil.getObjectFromSession("MinistraController");
        if (ministraController == null) {
            
            ministraController = new MinistraController();
        }
        return ministraController;
    }

    protected ObservacaoController getRenewObservacaoController() {
        observacaoController = (ObservacaoController) JsfUtil.getObjectFromSession("ObservacaoController");
        if (observacaoController == null) {
            
            observacaoController = new ObservacaoController();
        }
        return observacaoController;
    }

    protected PlanoController getRenewPlanoController() {
        planoController = (PlanoController) JsfUtil.getObjectFromSession("PlanoController");
        if (planoController == null) {
            
            planoController = new PlanoController();
        }
        return planoController;
    }

    protected ProfessorController getRenewProfessorController() {
        professorController = (ProfessorController) JsfUtil.getObjectFromSession("ProfessorController");
        if (professorController == null) {
            
            professorController = new ProfessorController();
        }
        return professorController;
    }

    protected QuestaoAbordaConteudoController getRenewQuestaoAbordaConteudoController() {
        questaoAbordaConteudoController = (QuestaoAbordaConteudoController) JsfUtil.getObjectFromSession("QuestaoAbordaConteudoController");
        if (questaoAbordaConteudoController == null) {
            
            questaoAbordaConteudoController = new QuestaoAbordaConteudoController();
        }
        return questaoAbordaConteudoController;
    }

    protected QuestaoController getRenewQuestaoController() {
        questaoController = (QuestaoController) JsfUtil.getObjectFromSession("QuestaoController");
        if (questaoController == null) {
            
            questaoController = new QuestaoController();
        }
        return questaoController;
    }

    protected QuestaoListaController getRenewQuestaoListaController() {
        questaoListaController = (QuestaoListaController) JsfUtil.getObjectFromSession("QuestaoListaController");
        if (questaoListaController == null) {
            
            questaoListaController = new QuestaoListaController();
        }
        return questaoListaController;
    }

    protected QuestaoProfessorController getRenewQuestaoProfessorController() {
        questaoProfessorController = (QuestaoProfessorController) JsfUtil.getObjectFromSession("QuestaoProfessorController");
        if (questaoProfessorController == null) {
            
            questaoProfessorController = new QuestaoProfessorController();
        }
        return questaoProfessorController;
    }

    protected TagController getRenewTagController() {
        tagController = (TagController) JsfUtil.getObjectFromSession("TagController");
        if (tagController == null) {
            
            tagController = new TagController();
        }
        return tagController;
    }

    protected TagListaController getRenewTagListaController() {
        tagListaController = (TagListaController) JsfUtil.getObjectFromSession("TagListaController");
        if (tagListaController == null) {
            
            tagListaController = new TagListaController();
        }
        return tagListaController;
    }

    protected TagQuestaoController getRenewTagQuestaoController() {
        tagQuestaoController = (TagQuestaoController) JsfUtil.getObjectFromSession("TagQuestaoController");
        if (tagQuestaoController == null) {
            
            tagQuestaoController = new TagQuestaoController();
        }
        return tagQuestaoController;
    }

    protected TipoController getRenewTipoController() {
        tipoController = (TipoController) JsfUtil.getObjectFromSession("TipoController");
        if (tipoController == null) {
            
            tipoController = new TipoController();
        }
        return tipoController;
    }

    protected TurmaController getRenewTurmaController() {
        turmaController = (TurmaController) JsfUtil.getObjectFromSession("TurmaController");
        if (turmaController == null) {
            
            turmaController = new TurmaController();
        }
        return turmaController;
    }

    protected UsuarioController getRenewUsuarioController() {
        usuarioController = (UsuarioController) JsfUtil.getObjectFromSession("UsuarioController");
        if (usuarioController == null) {
            
            usuarioController = new UsuarioController();
        }
        return usuarioController;
    }
}
